<template>
  <a-card :bordered="false">
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="时间">
              <g-year-picker
                placeholder="请选择时间"
                :is-init="false"
                v-model="queryParam.date"
              ></g-year-picker>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- 查询区域-END -->

    <!-- 操作按钮区域 -->
    <div class="table-operator" v-has="'user:operate'">
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
      <!-- 高级查询区域 -->
       <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
        </a-menu>
        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
      </a-dropdown>
    </div>

    <!-- table区域-begin -->
    <div>
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
      </div>

      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        class="j-table-force-nowrap"
        :scroll="{x:true}"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">

        <span slot="action" slot-scope="text, record">
          <div>
                <a @click="handleEdit(record)" v-has="'user:operate'">编辑</a>
            <a-divider type="vertical" />
                <a @click="handleExportXls2(record,'学生数')" v-has="'user:operate'">导出</a>
            <a-divider type="vertical" />
                <a-upload name="file" :showUploadList="false" :data="{'id':record.id}" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
                  <a-button type="primary" icon="import">导入</a-button>
                </a-upload>
                <a-divider type="vertical" />
                <a-dropdown>
                  <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
                  <a-menu slot="overlay">
                    <a-menu-item>
                      <a @click="handleDetail(record)">详情</a>
                    </a-menu-item>
                    <a-menu-item v-has="'user:operate'">
                      <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
                        <a>删除</a>
                      </a-popconfirm>
                    </a-menu-item>
                  </a-menu>
                </a-dropdown>
              </div>
        </span>

      </a-table>
    </div>

    <teaching-common-modal :item-value='itemValue' :date="queryParam.date"  ref="modalForm" @ok="modalFormOk"></teaching-common-modal>

  </a-card>
</template>

<script>

import TeachingCommonModal from '@views/gfxy/teaching/modules/TeachingCommonModal'
import '@/assets/less/TableExpand.less'
import GYearPicker from '@views/gfxy/common/GYearPicker'
import tableActionComponment from '@views/gfxy/teaching/common/tableActionComponment'
import { GfxyListMixin } from '@/mixins/GfxyListMixin'
import { downFile } from '@api/manage'

  export default {
    name: "XssList",
    mixins: [GfxyListMixin],
    components: {
      TeachingCommonModal, tableActionComponment, GYearPicker
    },
    data() {
      return {
        description: '学生数管理页面',
        // 表头
        itemValue: 33,
        columns: [
          {
            title: '#',
            dataIndex: '',
            key: 'rowIndex',
            width: 60,
            align: "center",
            customRender: function(t, r, index) {
              return parseInt(index) + 1;
            }
          },
          {
            title: '时间',
            align: "center",
            dataIndex: 'date'
          },
          {
            title: '学生数',
            align: "center",
            dataIndex: 'studentNum'
          },
          {
            title: '分院',
            align: "center",
            dataIndex: 'orgId_dictText'
          },
          {
            title: '总分',
            align: "center",
            dataIndex: 'totalScore'
          },
          {
            title: '操作',
            dataIndex: 'action',
            align: "center",
            fixed: "right",
            width: 147,
            scopedSlots: { customRender: 'action' },
          }
        ],
        url: {
          list: "/items/xss/list",
          delete: "/items/xss/delete",
          deleteBatch: "/items/xss/deleteBatch",
          exportXlsUrl: "/items/xss/exportXls",
          importExcelUrl: "items/xss/importExcel",

        }
      }
    },
    methods: {

      handleExportXls2(record,fileName) {
        console.log(record)
        if(!fileName || typeof fileName != "string"){
          fileName = "导出文件"
        }

        downFile(this.url.exportXlsUrl, {'id':record.id } ).then((data)=>{
          if (!data) {
            this.$message.warning("文件下载失败")
            return
          }
          if (typeof window.navigator.msSaveBlob !== 'undefined') {
            window.navigator.msSaveBlob(new Blob([data],{type: 'application/vnd.ms-excel'}),record.date + "-" + record.orgId_dictText + "-" + fileName+'.xls')
          }else{
            let url = window.URL.createObjectURL(new Blob([data],{type: 'application/vnd.ms-excel'}))
            let link = document.createElement('a')
            link.style.display = 'none'
            link.href = url
            link.setAttribute('download', record.date + "-" + record.orgId_dictText + "-" + fileName+'.xls')
            document.body.appendChild(link)
            link.click()
            document.body.removeChild(link); //下载完成移除元素
            window.URL.revokeObjectURL(url); //释放掉blob对象
          }
        })
      }

    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>